AppleWin history
================

This version of AppleWin is based directly on Oliver Schmidt's 1.10.4 source.

Bug reports should be submitted here:
https://developer.berlios.de/bugs/?func=addbug&group_id=6117

Feature requests should be submitted here:
https://developer.berlios.de/feature/?func=addfeature&group_id=6117

Tom Charlesworth
tomch at users.berlios.de


Restrictions/bugs:
- SSI263 emulation is very basic: there is no attempt to emulate rate, inflection or filters.
- During Mockingboard playback, Speaker emulation isn't precise


1.14.0 - 08 Aug 2007 (beta)
---------------------------
Fixes:
. Super Serial Card: PR#2 & IN#2 now working
. Full support for Peripheral Expansion ROM (at $C800) & $CFFF access
. F2 (Power-cycle) when ROM is switched *out* caused Apple to freeze

Changes:
. Attempt to use drive1's image name as the name for the .aws file
. Added Apple//e (original 6502 version with "Venetian Blinds" self-test)
. Turbo mode via Scroll Lock (temporary or toggle mode) - selectable via UI

Beta:
. Mouse Interface card support in slot 4 (selectable via UI)
  - Full 6821 emulation & 2K ROM. Based on code by Kyle Kim (Apple in PC)
  - Tested with: Dazzle Draw, Blazing Paddles, Archon II: Adept, Orge[Fix], Dragon Wars


1.13.2 - 07 Apr 2007
--------------------
* Added: Apple ][ (non-autostart monitor)
* Added: 6502 NMOS illegal opcode support (for ][ & ][+)
* Added: 65C02 CMOS undefined opcode support (for //e)
* Added: Simple parallel printer support in slot-1
  . Creates (or overwrites) a file called "Printer.txt" in AppleWin.exe's folder
  . Eg. PR#1, then LIST, then PR#0
  . The file will auto-close 10 seconds after the last printed output
* Fix: [Bug #7238] FLASH support in 80-column mode
* Fix: [Bug #8300] 80-col text in Silvern Castle got corrupted
* Fix: Speech with MB/Phasor for short phonemes - bug in DirectSound in WinXP (see KB327698)
* Fix: Disk ][ track stepping (Mabel's Mansion now works)
* Docs updated (although debugger docs still partially out of date)
* Debugger:
  + Now uses Apple font
  + Can configure entry to debugger via specific opcode or illegal(6502)/undefined(65C02) opcode - use BRKOP cmd
    - So you can run Apple at full-speed until it hits your breakpoint (eg. BRK)
  + BRKOP, BRK # to enter debugger
  + Mouse support: button & wheel
  + BLOAD/BSAVE
  + Search command: S/SH
  + New DISASM command
  + bookmarks, via bm, bma, bmc, bml, ctrl-#, alt-#
  + HELP RANGE
  + HELP OPERATORS
  + PRINT, PRINTF
  + ctrl-v (paste) support
  & lots more (doc's to be updated soon)


1.13.1 - 07 May 2006
--------------------
* Fix: [Bug #7375]  Crashes on Win98/ME


1.13.0 - 02 May 2006
--------------------
* New: Uthernet card support
  . Allows internet access when used with the Contiki OS
  . See: http://applewin.berlios.de/Uthernet.txt
* New: Floating bus support
  . Fixes the hang at Drol's cut-scene
  . Bob Bishop's Money Munchers is a little bit closer to working
* Change: Added support for SSC receive IRQ (eg. Z-Link)
* Fix: Checkerboard cursor back for //e mode
* Fix: [Bug #6778] enable harddisk not working in 1.12.9.1
* Fix: [Bug #6790] Right click menu stops working on drives
* Fix: [Bug #7231] AppleWin installed in path with spaces


1.12.9.1 - 10 Mar 2006
----------------------
* Right-Click on drive icon for disk popup menu. Options are:
        o Eject disk
        o Read only (write protection on.)
        o Read / Write (write protection off.)
        Note: If a file is read-only, the Read only option will be checked.
* Fixed invalid F7 opcode addressing mode, so Lock N' Chase is now playable.
* Video Blanking Timing now has preliminary support.
    i.e. Drol now longer stalls at the cutscene.
    Note: The VBL is not exact timing (yet), so some games like Karateka might exhibit a little choppiness.
* Debugger 2.5.0.16
        o New Command: #G, same as Apple "Monitor" go command, where # is an hex address.
            i.e. C600G
        o New Command: #L, same as Apple "Monitor" list command, where # is an hex address.
            i.e. 300L
        o New Command: //
        Starts a line comment anywhere in the line.
        o New Command: RUN "filename", to run a debugger script
        o New Command: ECHO ...
        Text may be quoted: ECHO "...text..."
        Echo the current line, since scripts don't echo their commands.
        o New Command: SH address ## [? ?? ##]
            You can now search memory!
            i.e.
            SH 800,8000 AD ? C0 // search for one byte gap, AD xx C0
            SH 800,8000 C030 // search for two bytes: 30 C0
        o Mini-Assembler preview:
        Note: None of the indexed/indirect modes are working (yet), expressions are not evaluated.
            usage: A address
            usage: A
            The assembler prompt is the '!' -- for your mini-assembler fans ;-)
            The format is: label mnemonic []
            To exit the assembler, press Enter without any input.
            The spacebar to execute the next instruction is disabled while in assembler mode. You must press space, if you don't wish to define a label.
        o Fixed Console sometimes not drawing.
        o Fixed UI bug: Memory View text over-writing buttons.
        o Changed BPX to now defaults to setting breakpoint at cursor.
        o Changed BP to now default to setting breakpoint at Program Counter (PC)
        o Added new color scheme: BW. (This used to be an alias for MONO before.)


1.12.9.0 - 25 Feb 2006
----------------------
- Moved source to BerliOS & released under GPL
- Debugger v2.4.2.16:
  + Breakpoint on memory address added: BPM address[,length]
  

1.12.8.0 - 22 Feb 2006
----------------------
- *** Major re-write of debugger by Michael Pohoreski ***
  . Debugger v2.4.2.15: Improvements & new features abound!
    + Syntax coloring, navigation, execution (eg. step-out), view memory as varying Ascii types
    + Symbol maintenance (main, user, source), source-level debugging, mini-calculator
    + Breakpoints: conditional on register, profiling + much more
  . See: http://applewin.berlios.de/Intro_To_New_Debugger.htm
- Fixed speaker volume not being set correctly at start-up
- Fixed emulation speed control (was only running at 1MHz)
- Fixed internal ADC: was flagged as write to memory
- Fixed internal BRK: only pushed PC+1, not PC+2 to stack
- Fixed CPU not getting properly reset (eg. SP) on Ctrl+Reset
- Changed attenuation on AY8910 outputs before mixing: MB: none (was 2/3), Phasor: still 2/3


1.12.7.2 - 25 Jan 2006
----------------------
- Fixed crash-bug in C++ 65C02 emu code for opcode $7C : JMP (ABS,X)
- Updated help file (by Brian Broker)
- Added ability to use Shift+Insert to paste from clipboard during emulation
- Added buttons to Config->Sound tab to select Mockingboard (s4 & s5), Phasor (s4) or none
- Removed keyboard buffer from Config->Input (this was redundant from 1.12.7.0)
- Fixed speaker click (eg. when selecting disk image)
- Added check to prevent loading old & incompatible 6502 DLLs (caused random 6502 crashes to monitor)
- Added support for AE's RAMWorks III, which adds up to 8MB (cmd-line switch only):
  . -r <#pages>  : where #pages = [1..127], each page is 64KB.
. NB. The following aren't saved out to the save-state file yet:
  . Phasor card  (only the Mockingboards are)
  . RAMWorks card

1.12.7.1 - 08 Jan 2006
----------------------
- Fixed cmd-line switches -d1/-d1 to work with filenames with spaces
- Reset: Init Phasor back to Mockingboard mode
- Benchmark button acts immediately
- Fixes to speaker emulation introduced in 1.12.7.0
- Adjusted speaker freq to work better with MJ Mahon's RT.SYNTH.dsk
- Fixed Bxx; ABS,X; ABS,Y; (IND),Y opcodes: take variable cycles depending on branch taken & page crossed


1.12.7.0 - 30 Dec 2005
----------------------
- Public release
- Fixed Apple][+ ROM (IRQ vector was vectoring to $FF59/OLDRST)
- Added cmd-line switches (-f, -d1, -d2)
  . -f           : full-screen
  . -dn <image>  : Load a disk image into a drive. A disk in drive-1 will force a reboot.
- Extended 6502 debugger (M1, M2, P0,...P4)
  . Mn <addr>    : Memory window 1/2
  . Pn <zp-addr> : Display a zero-page pointer
  . Extended memory-dump to output SY6522/AY8910 regs with SYn/AYn, eg: M1 AY0
  . Added support for ACME symbol files
- Phasor support (defaulting to Mockingboard mode, available in slots 4 & 5)
- Display updated at ~60Hz (instead of 20Hz)
- Emulation broken into 1ms units (instead of video-frame units)
- Uses internal CPU emulator instead of DLLs (DLLs to be phased out)


1.12.6.1 - 23 Apr 2005
----------------------
- Added support for Votrax speech: emulated using SSI263 phonemes
- Added joystick x/y trim control to Input property sheet
- Added support for double-lores graphics
- Updated Applewin.chm
- Load state: F12 nows works like Ctrl-F12


1.12.6.0 - 19 Mar 2005
----------------------
- Public release


1.12.5.5 - 11 Mar 2005
----------------------
- Added support for clipboard paste.
- Fixed slow Disk][ when Mockingboard disabled problem.
- Fixed flickering mouse pointer problem. 


1.12.5.4 - 11 Feb 2005
----------------------
- Added support for 2 HDDs (HDV images) from slot7
- Fixed Disk-swap bug.


1.12.5.3 - 4 Feb 2005
----------------------
- Internal


1.12.5.2 - 4 Feb 2005
----------------------
- Moved 'Monochrome Color' from main window to Config dialog
- Changed old 'Monochrome Color' button to 'Disk Swap' button (bitmap provided by The Rink).


1.12.5.1 - 24 Jan 2005
----------------------
- Rebuilt with new CHARSET4.bmp from "The Rink"


1.12.5.0 - 11 Dec 2004
----------------------
- Added browse dialogs for F11 & Ctrl-F12.


1.12.4.4 - 28 Nov 2004
----------------------
- Changed Configuration Dialog to Property Sheet Pages.
- Added Volume control for Speaker & Mockingboard.
- Added control for keyboard buffer.
- Added Save State page.


1.12.4.3 - 13 Nov 2004
----------------------
- Fixed problem with jerky graphics when in mixed HGR/TEXT (Olympic Decathlon).
- Fixed sudden burst of 'full speed' after unpausing.
- Fixed joystick emulation problem (Championship Lode Runner & Boulderdash).
- Fixed FLASH problem when nothing changing on TEXT screen.
- Fixed problem with internal 6502 emu's SBC opcode when in BCD mode (Dino Eggs).
- Fixed Pro Mockingboard compatiblity problem (Pro-MB accesses are now ignored).
- Added emulator save-state (Save=F11, Load=Ctrl+F12).


1.12.4.2 - 09 Nov 2004
----------------------
- Internal


1.12.4.1 - 14 Sep 2004
----------------------
- Fixed "CPU usage 100%" problem.
- Switch MB output from dual-mono to stereo.
- Relaxed TIMER1's max freq from ~62Hz (period=0x4000) to ~83Hz (period=0x3000).
- Fixed FLASH problem when in monochrome mode.


1.12.4.0 - 01 Aug 2004
----------------------
- Switched to MAME's AY8910 emulation
- Added support for SSI263 speech chip on Mockingboard
- Ctrl+Reset now resets MB
- Key presses: 2 buffers. Fixes problem where key presses are missed on faster PCs.
- Added FLASH support
- Switched Speaker to use DirectX
- Rebuilt using DirectX 9.0b library
- Removed AppleWin calibration when starting a new version
- Fixed 6502 emulation cycle-count inaccuracies, resulting in:
  . Precise analogue joystick support (Rescue Raiders' joystick support now works)
  . Precise Apple speaker
- Emulation speed control now works when using Mockingboard
- Full speed (Scroll-lock) mutes all sound (Speaker,Mockingboard)
- Fixed DELREG.INF
- Reset now switches Alternate char set off
- PC's delete key maps to Apple's DEL key
- Fixed characters: '6', '|', '_'


1.12.3 - 04 Jan 2004
--------------------
Changes:
- Added Thomas Stahl's TV emulation mode: "Color (TV emulation)".
  Tested with Karateka, Mindshadow.
	"As you probably know, many of the higher sophisticated Apple ][+
	games made use of the blurr-effekt that color TV-monitors had on
	patterns consisting of horizontal color stripes. Using this effect it
	was possible to produce *solid* mix colors like grey, purple, pink,
	yellow and aquamarine even in the 2+ *hi-res mode*."
- Included Thomas Stahl's adjusted hires colors:
	He "adjusted the hires colors for a more realistic look -
	at least in comparison with an Apple PAL-System."
- Changed wording in Config dialog: from "Color (optimized)" to "Color (text optimized)".
- Fixed Config dialog (speed settings were misplaced in 1.12.2).
- Fixed Joystick 2 for Mario Bros: Now when in dual-joystick mode, 2nd joystick
  button controls both switches #1 & #2 as one.
- Fixed Mockingboard IRQ frequency problem (Ultima 4 & 5 tunes now play at correct rate).
- Added Applewin.chm to release zip. (NB. This hasn't changed from 1.10.4)


1.12.2 - 05 Jul 2003
--------------------
Changes:
- Added support for 2nd joystick.
  If the 2nd Apple joystick is enabled, then the buttons are re-configured:
  - Joystick 1 controls only button #0 (ie. not button #1 too)
  - Joystick 2 controls only button #1 (ie. not button #2)
  This is so that player 1 can't affect player 2's controls.
  So there is no way to control button #2 via a joystick. I don't think this will be a problem.
  Of course Left Alt, Right Alt and Shift still activate the 3 buttons.
  NB. Disable 2nd joystick if playing a 1 player game that requires the use of buttons 0 and 1.
  Tested with Archon I, Archon II and One-on-one.


1.12.1 - 24 Nov 2002
--------------------
Changes:
- Changed tone waveform from orthodox square-wave to a more logarithm shape,
  based on real MB waveform analysis. This is by no means perfect, but in my
  opinion gives the tones more musical quality.
- Added MB enable/disable switch to Configuration dialog.
- Added simple logging support. If AppleWin is started from the command line
  (DOS box) with the '-l' switch, then a text log file, AppleWin.log, will be
  generated. This can hopefully be used to diagnose problems some users are having.


1.12.00 - 17 Nov 2002
---------------------
- Initial release.
- Supports 2 Mockingboard cards in slots 4 & 5
- 12 voices and noise supported using DirectX 8.1.
- Tested on Win98, 2000 and XP platforms.
